package com.slmxz.tms.system.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.slmxz.tms.common.model.Option;
import com.slmxz.tms.system.model.entity.Role;
import com.slmxz.tms.system.model.vo.ConfigVO;
import com.slmxz.tms.system.model.vo.RoleVO;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Set;

public interface RoleMapper extends BaseMapper<Role> {


    /**
     * @param page 分页对象
     * @return
     */
    List<RoleVO> selectPage(IPage<RoleVO> page, @Param("role")RoleVO role);


    /**
     * 获取最大范围的数据权限
     *
     * @param roles
     * @return
     */
    Integer getMaximumDataScope(Set<String> roles);

    List<RoleVO> listRole(@Param("companyId") Long companyId);

    /**
     * 获取角色下拉框
     * @return
     */
    List<Option<Long>> selectOption(@Param("role") RoleVO role);
}
